---
id: 60fab4a123ce4b04526b082b
title: ステップ 28
challengeType: 0
dashedName: step-28
---

# --description--

現状、ラジオボタンを選択しなくてもフォームを送信できるようになっています。 以前のステップでは入力欄が必須項目であることを示すために `required` 属性を使用しましたが、ここではその方法は使えません。なぜかと言うと、両方の input 要素に `required` を追加すると、誤った意味になってしまうからです。

これを解決するには、`Account type (required)` というテキストを持つ `legend` 要素を、2 つ目の `fieldset` の中、`label` 要素の前に追加することによって、何が必須であるかを伝えます。 そして、`checked` 属性を `Personal` の input 要素に追加することで、必要なデータが含まれた状態でフォームが送信されることを保証します。

# --hints--

`input` 要素の `type` は `radio` のままにしてください。

```js
assert.equal(document.querySelectorAll('fieldset:nth-child(2) input[type="radio"]')?.length, 2);
```

2 つ目の `fieldset` 要素内に、`legend` 要素を 1 つ追加する必要があります。

```js
assert.equal(document.querySelectorAll('fieldset:nth-of-type(2) > legend')?.length, 1);
```

`legend` 要素にテキスト `Account type (required)` を追加する必要があります。

```js
assert.equal(document.querySelector('fieldset:nth-of-type(2) > legend')?.textContent, 'Account type (required)');
```

`Personal` の input 要素に、`checked` 属性を設定する必要があります。

```js
assert.isTrue(document.querySelector('fieldset:nth-child(2) input[type="radio"]')?.hasAttribute('checked'));
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Registration Form</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <h1>Registration Form</h1>
    <p>Please fill out this form with the required information</p>
    <form method="post" action='https://register-demo.freecodecamp.org'>
      <fieldset>
        <label for="first-name">Enter Your First Name: <input id="first-name" type="text" required /></label>
        <label for="last-name">Enter Your Last Name: <input id="last-name" type="text" required /></label>
        <label for="email">Enter Your Email: <input id="email" type="email" required /></label>
        <label for="new-password">Create a New Password: <input id="new-password" type="password" pattern="[a-z0-5]{8,}" required /></label>
      </fieldset>
--fcc-editable-region--
      <fieldset>

        <label><input type="radio" name="account-type" /> Personal</label>
        <label><input type="radio" name="account-type" /> Business</label>
      </fieldset>
--fcc-editable-region--
      <fieldset></fieldset>
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>
```

```css
body {
  width: 100%;
  height: 100vh;
  margin: 0;
  background-color: #1b1b32;
  color: #f5f6f7;
}

label {
  display: block;
  margin: 0.5rem 0;
}

```
